In a contention-based system, when needing to send data, a station usually listens to a channel first, and if the channel is idle, performs a backoff operation, that is, randomly selects a backoff duration from a contention window, sets a backoff timer, and starts to send the data when the backoff timer counts down to zero. If backoff timers of two stations synchronously reach zero, a collision occurs. In this case, a receiving station may not be capable of correctly receiving data, resulting in another backoff of the station. When a large number of stations need to access a channel, the probability that a collision occurs is increased, causing a reduction to a throughput of the system. After a collision occurs, a user in the collision usually increases a size of a contention window, then randomly selects a backoff duration from the increased contention window, and sets a backoff timer. If a collision occurs again, this process is repeated. After the contention window increases in size to reach a maximum contention window, the contention window is kept unchanged, and a backoff duration is selected from the maximum contention window to set a backoff timer. A minimum contention window is restored only after the data is successfully sent.
However, in such a case in which the probability that a collision occurs is decreased by extending a backoff duration, the throughput of the system is lowered when the number of contending stations is small.